Matthias Clasen [Sun, 21 Apr 2019 16:24:07 +0000 (12:24 -0400)]
gdk: Drop GdkWindowAttr
All the information in it is already contained
in the surface object we pass along, and none
of the backend implementations were using the
attributes at all.
Matthias Clasen [Sun, 21 Apr 2019 16:06:11 +0000 (12:06 -0400)]
gdk: Drop input-only surfaces
We are not creating such surfaces anymore, and
they were only ever meaningfully implemented
on X11. Drop the concept, and the api for determining
if a surface is input-only.
Matthias Clasen [Sun, 21 Apr 2019 15:39:35 +0000 (15:39 +0000)]
gdk: Remove an unused field
Spring cleaning. We are not using this field
at all, since we have the input_only boolean.
Matthias Clasen [Sat, 20 Apr 2019 04:30:33 +0000 (04:30 +0000)]
Drop gdk_surface_new_temp
This is no longer used, and the only difference
to gdk_surface_new_popup is input-only, which is
an X11-only concept.
Matthias Clasen [Sat, 20 Apr 2019 04:32:00 +0000 (04:32 +0000)]
menu: Stop using gdk_surface_new_temp
We can just as well use gdk_surface_new_popup.
Matthias Clasen [Sat, 20 Apr 2019 04:31:27 +0000 (04:31 +0000)]
x11: Stop using gdk_surface_new_temp
We can just as well use gdk_surface_new_popup.
Matthias Clasen [Sat, 20 Apr 2019 01:29:25 +0000 (01:29 +0000)]
broadway: Stop using gdk_surface_new_temp
This is in preparation for adding a proper
popup surface type.
Matthias Clasen [Mon, 29 Apr 2019 16:49:38 +0000 (16:49 +0000)]
wayland: Remove a useless switch
We are setting the title unconditionally, now
Matthias Clasen [Fri, 19 Apr 2019 23:15:26 +0000 (19:15 -0400)]
docs: Remove references to gdk_device_grab
It is no longer public api, refer to gdk_seat_grab instead.
Matthias Clasen [Fri, 19 Apr 2019 23:08:24 +0000 (23:08 +0000)]
gdk: Remove remnants of client-side windows
Now that all surfaces are native, we don't need
to separately keep track of grab surfaces and
their native ancestor anymore.
Matthias Clasen [Fri, 19 Apr 2019 20:18:57 +0000 (16:18 -0400)]
Drop gtk_widget_register_surface
This is no longer used.
Matthias Clasen [Fri, 19 Apr 2019 20:14:44 +0000 (20:14 +0000)]
popover: Stop using gtk_widget_register_surface
The GtkRoot implementations are expected to handle
the necessary surface setup themselves, going forward.
Matthias Clasen [Fri, 19 Apr 2019 20:14:09 +0000 (20:14 +0000)]
window: Stop using gtk_widget_register_surface
The GtkRoot implementations are expected to handle
the necessary surface setup themselves, going forward.
Matthias Clasen [Fri, 19 Apr 2019 20:13:49 +0000 (20:13 +0000)]
menu: Stop using gtk_widget_register_surface
It does not seem to be necessary at all.
Matthias Clasen [Fri, 19 Apr 2019 19:39:23 +0000 (15:39 -0400)]
surface: Make gdk_surface_get_device_position void
None of the callers were using the return value,
and without child surfaces, it is not very useful.
Matthias Clasen [Mon, 25 Mar 2019 04:26:42 +0000 (00:26 -0400)]
x11: Drop a gratitious use of gdk_event_get_root_coords
We are in the backend, so we can do the translation ourselves.
Matthias Clasen [Mon, 25 Mar 2019 04:00:14 +0000 (00:00 -0400)]
Remove gdk_surface_get_geometry as public api
We still need to keep the vfunc around, since the
fallback implementation of gdk_display_get_monitor_at_surface
uses it. So, a GDK backend must either have root coordinates
or always return a monitor from monitor_at_surface.
Matthias Clasen [Mon, 25 Mar 2019 03:15:01 +0000 (23:15 -0400)]
Drop gdk_surface_get_root_origin
It was not used.
Matthias Clasen [Mon, 25 Mar 2019 03:09:48 +0000 (23:09 -0400)]
Remove gdk_surface_get_root_coords as public api
We still need to keep the vfunc around, since the
fallback implementation for move_to_rect uses it.
So, a GDK backend must either have root coordinates
or implement move_to_rect.
Matthias Clasen [Mon, 25 Mar 2019 01:04:34 +0000 (21:04 -0400)]
Remove gdk_surface_coords_to/from_parent
This api was unused, and surfaces have no parents anymore.
Matthias Clasen [Sun, 24 Mar 2019 20:30:32 +0000 (16:30 -0400)]
surface: Small simplification
No more special-casing of state setting.
Matthias Clasen [Sun, 24 Mar 2019 20:24:30 +0000 (16:24 -0400)]
surface: Simplify destroy implementation
Without child surfaces, there is no need to recurse.
Matthias Clasen [Sun, 24 Mar 2019 19:42:32 +0000 (15:42 -0400)]
surface: Remove abs_x/abs_y
We no longer have child windows, so the offset is
always 0.
Matthias Clasen [Sun, 24 Mar 2019 19:26:55 +0000 (15:26 -0400)]
surface: Small cleanup
Every surface has an impl now, no need to check.
Matthias Clasen [Sat, 23 Mar 2019 13:35:14 +0000 (09:35 -0400)]
surface: Simplify some code
Fold gdk_surface_process_updates_recurse into its
only caller. There is no recursion here anymore.
Matthias Clasen [Sat, 23 Mar 2019 13:29:09 +0000 (09:29 -0400)]
Remove surface->children
This field is not used at all anymore.
Matthias Clasen [Sat, 23 Mar 2019 13:28:50 +0000 (09:28 -0400)]
gdk: Stop using surface->children
It is always NULL.
Matthias Clasen [Sat, 23 Mar 2019 13:28:11 +0000 (09:28 -0400)]
wayland: Stop using surface->children
It is always NULL.
Matthias Clasen [Sat, 23 Mar 2019 13:13:55 +0000 (09:13 -0400)]
Remove surface->parent
This field is no longer used.
Matthias Clasen [Sat, 23 Mar 2019 13:13:37 +0000 (09:13 -0400)]
gdk: Stop using surface->parent
It is always NULL.
Matthias Clasen [Sun, 21 Apr 2019 17:08:24 +0000 (13:08 -0400)]
broadway: Stop using surface->parent
Matthias Clasen [Sat, 23 Mar 2019 13:12:10 +0000 (09:12 -0400)]
x11: Stop using surface->parent
It is always NULL.
Matthias Clasen [Sat, 23 Mar 2019 13:11:46 +0000 (09:11 -0400)]
wayland: Stop using surface->parent
It is always NULL.
Matthias Clasen [Sat, 23 Mar 2019 12:43:07 +0000 (08:43 -0400)]
surface: Remove code dealing with child surfaces
We no longer have child surfaces, so this code
is never run.
Matthias Clasen [Sat, 23 Mar 2019 12:36:25 +0000 (08:36 -0400)]
surface: minor cleanup
Make gdk_surface_new fully private, and reduce the use
of GdkSurfaceAttr.
Matthias Clasen [Fri, 22 Mar 2019 18:24:39 +0000 (14:24 -0400)]
Drop child surfaces
Drop gdk_surface_child_new and the child surface type,
since we no longer use them. Deprecate surface apis
that only make sense with child surfaces.
Matthias Clasen [Sat, 23 Mar 2019 06:01:52 +0000 (02:01 -0400)]
widget: Stop using child surface apis
All our surfaces are toplevels now, and thus all native.
Matthias Clasen [Sat, 23 Mar 2019 05:59:47 +0000 (01:59 -0400)]
a11y: Stop supporting ATK_XY_SCREEN
We were already not supporting ATK_XY_PARENT, and we can't
support global positions, so just always do ATK_XY_WINDOW.
Matthias Clasen [Sat, 23 Mar 2019 06:00:59 +0000 (02:00 -0400)]
xim: Stop using child surface apis
We no longer have child surfaces.
Drop code that only makes sense in
their presence.
Matthias Clasen [Sat, 23 Mar 2019 04:14:46 +0000 (00:14 -0400)]
wayland: Stop using child surface apis
We no longer have child surfaces.
Drop code that only makes sense in their
presence.
Matthias Clasen [Sat, 23 Mar 2019 04:14:00 +0000 (00:14 -0400)]
x11: Stop using child surface api
We no longer have child surfaces.
Drop code that only makes sense in
that case.
Matthias Clasen [Sat, 20 Apr 2019 04:32:29 +0000 (04:32 +0000)]
entry completion: Use a popover
This lets us remove a use of GTK_WINDOW_POPUP,
which should eventually be going away.
We need to disable treeview search, since it
creates a toplevel that will disrupt our grabbing
popup, causing it to be dismissed.
We don't need to grab ourselves, since the popover
code does it for us. We don't need to reposition our
window, since the popover takes care of that too.
Matthias Clasen [Thu, 2 May 2019 21:33:53 +0000 (17:33 -0400)]
main: Use gtk_widget_get_native
Matthias Clasen [Mon, 22 Apr 2019 21:39:18 +0000 (21:39 +0000)]
main: Remove special-case hiding popopvers
This is now happening in GDK, so we don't have
to do this here anymore.
Matthias Clasen [Fri, 26 Apr 2019 03:18:15 +0000 (03:18 +0000)]
widget: Remove some unneeded popover special-casing
Matthias Clasen [Sun, 24 Mar 2019 15:41:55 +0000 (11:41 -0400)]
Adwaita: Give popover menus a background
This makes the hover highlight on menu items visible.
Matthias Clasen [Fri, 26 Apr 2019 23:17:37 +0000 (23:17 +0000)]
menubutton: Allocate the popover
This is temporary, until we've figured out
the proper way of hooking this up
Matthias Clasen [Fri, 22 Mar 2019 02:12:22 +0000 (22:12 -0400)]
Adapt to new popover lifecycle
We need to unparent popovers in dispose.
Matthias Clasen [Mon, 29 Apr 2019 03:25:37 +0000 (03:25 +0000)]
Reimplement GtkPopover
Matthias Clasen [Wed, 20 Mar 2019 00:05:17 +0000 (20:05 -0400)]
surface: Start sketching a new surface type
Start by adding a constructor. We have to call it
gdk_surface_new_popup_full for now, since gdk_surface_new_popup
is taken. This may be reshuffled later.
Matthias Clasen [Sun, 26 May 2019 17:16:40 +0000 (17:16 +0000)]
menushell: Keep outside clicks working
We need to unset event propagation limits here
to keep receiving outside clicks that cause us
to close the menu.
Matthias Clasen [Mon, 29 Apr 2019 02:19:44 +0000 (02:19 +0000)]
Introduce event controller propagation limits
Limit event handlers by default to only handle
events targeting the same surface as their widget.
Matthias Clasen [Mon, 18 Mar 2019 11:51:47 +0000 (07:51 -0400)]
widget: Don't snapshot foreign children
When snapshotting, we walk down the widget tree.
We need to skip children that have a different
surface, since those will do their own snapshot.
Matthias Clasen [Sun, 19 May 2019 20:35:59 +0000 (20:35 +0000)]
root: Make gtk_root_get_display public
This is following the precedent of making
GtkNative getters public.
Matthias Clasen [Sun, 26 May 2019 17:39:11 +0000 (17:39 +0000)]
GtkRoot: Drop overlap with GtkNative
Drop the parts from the GtkRoot interface
that have been taken over by GtkNative.
Matthias Clasen [Mon, 29 Apr 2019 17:47:40 +0000 (13:47 -0400)]
widget: Use GtkNative
Matthias Clasen [Sun, 17 Mar 2019 23:41:26 +0000 (19:41 -0400)]
Review and replace uses of get_toplevel
Now that roots can have parent widgets, we need to
carefully examine all calls of gtk_widget_get_toplevel,
and replace them with gtk_widget_get_root if we want
the nearest root, and not the ultimate end of the parent
chain.
Matthias Clasen [Sun, 26 May 2019 18:02:55 +0000 (18:02 +0000)]
Use GtkNative APIs instead of GtkRoot
Matthias Clasen [Thu, 2 May 2019 21:32:54 +0000 (17:32 -0400)]
Add gtk_widget_get_native
This is a common enough operation to deserve api.
Matthias Clasen [Mon, 29 Apr 2019 05:42:39 +0000 (05:42 +0000)]
root: Require GtkNative
Matthias Clasen [Sun, 26 May 2019 17:43:46 +0000 (17:43 +0000)]
window: Implement GtkNative
Adapt GtkWindow to implement both GtkRoot and GtkNative.
Matthias Clasen [Tue, 28 May 2019 20:22:18 +0000 (16:22 -0400)]
native: Add to docs
Matthias Clasen [Sun, 26 May 2019 17:38:27 +0000 (17:38 +0000)]
Introduce GtkNative
Split off the parts of GtkRoot that are specific
to widgets having a surface into the GtkNative
interface.
Matthias Clasen [Sun, 3 Mar 2019 22:42:36 +0000 (17:42 -0500)]
main: guard window-specific code paths
This was overlooked when I first tried to
make things for GtkRoot.
Matthias Clasen [Sun, 24 Feb 2019 23:41:26 +0000 (18:41 -0500)]
widget: guard popover-specific code paths
This is essentially a special case just for GtkPopover,
which is the last widget with a child surface.
Matthias Clasen [Sun, 19 May 2019 03:41:08 +0000 (03:41 +0000)]
Export gtk_widget_render privately
We need it in gtkwindow.c and gtkpopover.c.
Benjamin Otte [Tue, 28 May 2019 17:18:35 +0000 (19:18 +0200)]
surface: Add marshallers for new events
This way, sysprof can profile through the signal emission, and for
signals this low in the stack, this is very useful.
Matthias Clasen [Tue, 28 May 2019 03:02:33 +0000 (03:02 +0000)]
file chooser widget: Drop the priv pointer
Matthias Clasen [Tue, 28 May 2019 02:48:26 +0000 (02:48 +0000)]
file chooser dialog: Drop the priv pointer
Matthias Clasen [Tue, 28 May 2019 02:42:14 +0000 (02:42 +0000)]
file chooser dialog: Make final
Matthias Clasen [Tue, 28 May 2019 02:41:15 +0000 (02:41 +0000)]
file chooser widget: Make final
Matthias Clasen [Tue, 28 May 2019 02:40:08 +0000 (02:40 +0000)]
file chooser button: Make final
Matthias Clasen [Tue, 28 May 2019 02:37:41 +0000 (22:37 -0400)]
font chooser dialog: Drop the priv pointer
Matthias Clasen [Tue, 28 May 2019 02:27:47 +0000 (22:27 -0400)]
font chooser widget: Drop the priv pointer
Matthias Clasen [Tue, 28 May 2019 00:57:47 +0000 (00:57 +0000)]
font chooser dialog: Make final
Matthias Clasen [Tue, 28 May 2019 00:56:41 +0000 (00:56 +0000)]
font chooser widget: Make final
Matthias Clasen [Tue, 28 May 2019 00:55:28 +0000 (00:55 +0000)]
font button: Make final
Matthias Clasen [Tue, 28 May 2019 00:51:46 +0000 (20:51 -0400)]
app chooser dialog: Drop the priv pointer
Matthias Clasen [Tue, 28 May 2019 00:44:01 +0000 (20:44 -0400)]
app chooser widget: Drop the priv pointer
Matthias Clasen [Tue, 28 May 2019 00:30:59 +0000 (20:30 -0400)]
app chooser dialog: Make final
Matthias Clasen [Tue, 28 May 2019 00:30:48 +0000 (20:30 -0400)]
app chooser widget: Make final
Matthias Clasen [Tue, 28 May 2019 00:30:35 +0000 (20:30 -0400)]
app chooser button: Make final
Matthias Clasen [Tue, 28 May 2019 00:23:17 +0000 (00:23 +0000)]
color chooser dialog: Drop the priv pointer
Matthias Clasen [Tue, 28 May 2019 00:20:03 +0000 (00:20 +0000)]
color chooser widget: Drop the priv pointer
Matthias Clasen [Tue, 28 May 2019 00:04:15 +0000 (00:04 +0000)]
color chooser dialog: Make final
Matthias Clasen [Tue, 28 May 2019 00:04:01 +0000 (00:04 +0000)]
color chooser widget: Make final
Matthias Clasen [Tue, 28 May 2019 00:03:46 +0000 (00:03 +0000)]
color button: Make final
Matthias Clasen [Tue, 28 May 2019 00:03:24 +0000 (00:03 +0000)]
entry completion: Make final
Matthias Clasen [Mon, 27 May 2019 22:44:25 +0000 (22:44 +0000)]
text tag table: Make final
And also move private function to a private header.
Matthias Clasen [Mon, 27 May 2019 22:37:11 +0000 (22:37 +0000)]
Remove an unused function
_gdk_make_event was not used anywhere.
Matthias Clasen [Mon, 27 May 2019 22:31:10 +0000 (22:31 +0000)]
text mark: Use standard padding
Matthias Clasen [Mon, 27 May 2019 22:30:33 +0000 (22:30 +0000)]
text tag: Use standard padding
Matthias Clasen [Mon, 27 May 2019 21:35:24 +0000 (21:35 +0000)]
overlay: Make final
Timm Bäder [Sat, 25 May 2019 07:03:37 +0000 (09:03 +0200)]
sizerequest: Fix request mode for layout managers
We can't just call GtkWidgetClass::get_request_mode() anymore. If the
widget has a layout manager, we need to ask that one.
Timm Bäder [Sat, 25 May 2019 06:59:20 +0000 (08:59 +0200)]
layoutmanager: Never pass NULL pointers to ->measure
We don't do that in GtkWidgetClass::measure() implementations either, so
make the semantics match.
Timm Bäder [Fri, 24 May 2019 06:47:40 +0000 (08:47 +0200)]
filechooserentry: Correctly annotate a return value as (nullable)
Timm Bäder [Fri, 24 May 2019 06:43:45 +0000 (08:43 +0200)]
filechooserentry: Rename function to make sense
This is GtkFileChooserEntry API, not GtkFileChooser API.
Matthias Clasen [Mon, 27 May 2019 12:59:36 +0000 (12:59 +0000)]
Don't load print backends more than once
The modules don't depend on the default display
at all, and loading them more than once makes
the displayclose test fail here, locally.
Matthias Clasen [Mon, 27 May 2019 09:30:45 +0000 (09:30 +0000)]
Merge branch 'meson-man-without-docs' into 'master'
meson: allow building man pages without the documentation
See merge request GNOME/gtk!875
Matthias Clasen [Mon, 27 May 2019 04:41:58 +0000 (00:41 -0400)]
check menu item: Drop the priv pointer